package com.candoo.root.security.mapper;

import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import com.candoo.root.security.domain.auth.Role;
import com.candoo.root.security.domain.auth.UserDetail;

/**
 * @ClassName:  AuthMapper   
 * @Description:TODO(描述这个类的作用)   
 * @author: i@mxpio.com
 * @date:   2020年4月29日 下午5:27:15      
 * @Copyright:  https://gitee.com/i_mxpio
 */
@Repository
public interface AuthMapper {
    /**
     * 根据用户名查找用户
     * @param name
     * @return
     */
    UserDetail findByUsername(@Param("name") String name);

    /**
     * 创建新用户
     * @param userDetail
     */
    void insert(UserDetail userDetail);

    /**
     * 创建用户角色
     * @param userId
     * @param roleId
     * @return
     */
    int insertRole(@Param("userId") long userId, @Param("roleId") long roleId);

    /**
     * 根据角色id查找角色
     * @param roleId
     * @return
     */
    Role findRoleById(@Param("roleId") long roleId);

    /**
     * 根据用户id查找该用户角色
     * @param userId
     * @return
     */
    Role findRoleByUserId(@Param("userId") long userId);
}
